package cn.wzvtc.softwaretechintro.phase02;

/**
 * 通过成员变量(field）交换两个数。
 * 以及它在Java模型中存放的未知，从而掌握成员变量的特性了，它和局部变量的不同
 */
public class Debug06_InstanceAndField {
    int a=3;
    int b=5;
    public static void main(String[] args) {
        Debug06_InstanceAndField di=new Debug06_InstanceAndField();
        System.out.println(di.a);
        System.out.println(di.b);
        //TODO 1 分别调用各种swap看看，看看是否交换，并进行分析。
        //di.swap();
        //di.swap2(di.a,di.b);
        System.out.println(di.a);
        System.out.println(di.b);

        //TODO 2 把本句上移到swap调用之前，放开22/23行的注释，看看di2的a.b是否交换，并进行分析。
        //从而理解this和成员变量的含义
        //Debug06_InstanceAndField di2=new Debug06_InstanceAndField();
        //System.out.println(di2.a);
        //System.out.println(di2.b);




    }

    public void swap(){
        int t=a;//去哪里找a?
        a=b;
        b=t;
    }

    public void swap2(int x,int y){
        int t=x;
        x=y;
        y=t;
    }

    //TODO 留意this是什么，在哪里？
    public void swap3(){
        int t=this.a;
        this.a=this.b;
        this.b=t;
    }





}
